import request from '@/utils/request/req';

/**
 * 算力管理列表接口
 * @param params 请求参数
 * @param params.startTime 开始时间，格式：YYYY-MM-DD（可选）
 * @param params.endTime 结束时间，格式：YYYY-MM-DD（可选）
 * @param params.current 当前页码（可选）
 * @param params.size 每页大小（可选）
 * @returns 算力管理列表数据
 */
export function getComputingPowerList(params?: { startTime?: string; endTime?: string; current?: number; size?: number }) {
  // 如果没有提供时间参数，使用默认时间范围（最近7天）
  let requestParams = params || {};
  if (!requestParams.startTime || !requestParams.endTime) {
    const end = new Date();
    const start = new Date();
    start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
    requestParams = {
      startTime: start.toISOString().split('T')[0],
      endTime: end.toISOString().split('T')[0],
      ...requestParams
    };
  }

  return request({
    url: '/enterprise/computingPowerList',
    method: 'get',
    params: requestParams
  });
}

/**
 * 算力管理列表响应数据类型
 */
export interface ComputingPowerListResponse {
  code: number;
  msg: string;
  data: {
    // 新格式：包含分页信息
    records?: Array<{
      userId: string; // 用户ID
      userOpenId: string; // 用户微信OpenID
      userName: string; // 用户名称
      userAvatarUrl: string; // 用户头像URL
      aiInputToken: string; // AI输入token数
      aiOutputToken: string; // AI输出token数
      cost: string; // 成本
      costSring: string; // 成本字符串描述
    }>;
    total?: number; // 总记录数
    size?: number; // 每页大小
    current?: number; // 当前页码
    pages?: number; // 总页数
    // 旧格式兼容
    allMap?: {
      allOutPutToken: string; // 总输出token数
      allCoatString: string; // 总成本字符串描述
      allInPutToken: string; // 总输入token数
      allCoat: string; // 总成本
    };
    resultList?: Array<{
      userId: string; // 用户ID
      userOpenId: string; // 用户微信OpenID
      userName: string; // 用户名称
      userAvatarUrl: string; // 用户头像URL
      aiInputToken: string; // AI输入token数
      aiOutputToken: string; // AI输出token数
      cost: string; // 成本
      costSring: string; // 成本字符串描述
    }>;
  };
}
